Чек-лист самопроверки
Чек-лист самопроверки
- Что такое Groovy и для каких задач он предназначен?
- Как Groovy связан с JVM и Java?
- Является ли любой Java-код корректным Groovy-кодом?
- Как запустить Groovy-скрипт из командной строки?
- Что такое GDK (Groovy Разработка Kit)?
- Как объявляются переменные в Groovy? Обязательны ли типы?
- Что такое ключевое слово
defи когда его использовать? - Как работают строки: обычные, GString (
"Hello $name"), многострочные? - Что такое безопасная навигация (
?.) и Elvis-оператор (?:)? - Как работают списки и карты без явного объявления (
[],[:])? - Какие есть способы итерации по коллекциям (
each,for,collect,findAll)? - Что такое замыкания в Groovy и как они записываются?
- Как передавать замыкание как аргумент методу?
- Что такое оператор распространения (
*.method())? - Как работает оператор диапазона (
1..10)? - Как объявляется класс в Groovy?
- Обязательны ли геттеры и сеттеры? Как они генерируются?
- Что такое свойства (
properties) в Groovy? - Как работают конструкторы по умолчанию с именованными параметрами?
- Что такое
@ToString,@EqualsAndHashCode,@TupleConstructor? - Как работает наследование в Groovy?
- Поддерживает ли Groovy интерфейсы и абстрактные классы?
- Что такое трейты (
trait) и чем они отличаются от интерфейсов? - Как работают исключения в Groovy?
- Можно ли опускать блок
catchилиfinally? - Что такое метапрограммирование во время выполнения (
metaClass)? - Как добавить метод к существующему классу динамически?
- Что такое категориальные методы (
useblock)? - Как работает статическое метапрограммирование (AST Transformations)?
- Что делают аннотации
@TypeCheckedи@CompileStatic? - Как обрабатывать JSON в Groovy (
JsonSlurper,JsonBuilder)? - Как работать с XML (
XmlSlurper,MarkupBuilder)? - Как выполнять SQL-запросы (
Sql.newInstance,eachRow)? - Что такое Grape и как им управлять зависимости в скриптах?
- Как писать unit-тесты на Groovy (Spock, JUnit)?
- Что такое спецификации в Spock и как они структурированы (
given,when,then)? - Как Groovy используется в Gradle (build.gradle)?
- Что такое делегация в замыканиях (
Closure.DELEGATE_FIRST)? - Как создавать DSL с помощью Groovy?
- Как работают регулярные выражения (
~/pattern/,=~,==~)? - Что такое оператор «в» (
in) и как он работает с коллекциями? - Как вызывать методы с именованными параметрами?
- Что такое мультиприсваивание (
(a, b) = [1, 2])? - Как работают операторы сравнения (
==вызываетequals, а неis)? - Как управлять видимостью методов (
publicпо умолчанию)? - Как сериализовать объекты в Groovy?
- Как отлаживать Groovy-скрипты в IDE?
- Как компилировать Groovy в байт-код (
groovyc)? - Как интегрировать Groovy-классы в Java-проект?
- Какие инструменты используются для анализа и форматирования Groovy-кода (CodeNarc, gpars)?
См. также
Другие статьи этого же раздела в боковом меню (как на странице «О разделе»). История Groovy — это кейс эволюции технологии в условиях доминирующей платформы. Из неё можно извлечь несколько обобщаемых принципов. Фундамент для начинающего программиста - что повторить, как работать, чего ожидать. Набор советов, правил, принципов и обычаев в разработке на этом языке. Макросы на уровне языка (начиная с Groovy 2.5) — groovy.transform.Macro позволяет инжектить код, основываясь на анализе AST. Типизация, набор правил определения типа данных значений языка. Арифметические операторы в Groovy предназначены для выполнения математических операций над числами. К ним относятся — + — сложение. Применяется к числам, а также к строкам, где он выполняет… В языке Groovy циклы реализованы как через классические управляющие конструкции, унаследованные от Java и других императивных языков, так и через более выразительные, декларативные подходы,… В этом примере greet — это переменная, содержащая замыкание. Замыкание принимает один параметр name и выводит приветствие. Вызов greet(Groovy) выполняет код внутри замыкания. Нет проверяемых исключений — компилятор Groovy игнорирует механизм throws, принятый в Java. Groovy позволяет работать с переменными без явного указания типа (def), что делает его гибким для скриптов. Кавычки, точки, запятые, скобки и прочие знаки препинания. Groovy использует все ключевые слова Java и добавляет собственные для упрощения синтаксиса. Справочник разделён на логические группы для удобства использования.История языка Groovy
Что требуется знать перед началом изучения языка программирования Groovy
Рекомендации по разработке на Groovy
Основы языка Groovy
Типы данных и объявление переменных
Операторы и выражения в Groovy
Циклы и управляющие конструкции
Объектно-ориентированное программирование в Groovy
Иерархия исключений в Groovy
Особенности и расширения языка Groovy
Синтаксис и пунктуация в Groovy
Ключевые слова языка Groovy